/**
 * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package org.opsli.api.wrapper.customer.customerrelation;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.opsli.api.wrapper.customer.customerinfo.CustomersInfoModel;
import org.opsli.api.wrapper.customer.student.CustomersStudentModel;

/**
 * 客户学生关系查询 Model
 *
 * @author guagua
 * @date 2025-01-11
 */
@Data
@ApiModel(description = "客户学生关系查询模型")
public class CustomerStudentRelationQueryModel {

    // ========================================
    // 关系信息查询条件
    // ========================================

    Integer pageNo = 1;
    Integer pageSize = 10;
    /**
     * 客户ID
     */
    @ApiModelProperty(value = "客户ID")
    private String customerId_EQ;

    /**
     * 学员ID
     */
    @ApiModelProperty(value = "学员ID")
    private String studentId_EQ;

    /**
     * 关系类型
     */
    @ApiModelProperty(value = "关系类型")
    private String relationType_EQ;

    /**
     * 是否主要联系人(0否 1是)
     */
    @ApiModelProperty(value = "是否主要联系人")
    private String isPrimary_EQ;

    /**
     * 来源渠道
     */
    @ApiModelProperty(value = "来源渠道")
    private String sourceChannel_EQ;

    /**
     * 关系状态
     */
    @ApiModelProperty(value = "关系状态")
    private String relationStatus_EQ;

    // ========================================
    // 时间范围查询条件
    // ========================================

    /**
     * 创建时间开始
     */
    @ApiModelProperty(value = "创建时间开始")
    private String createTime_GE;

    /**
     * 创建时间结束
     */
    @ApiModelProperty(value = "创建时间结束")
    private String createTime_LE;

    /**
     * 建立日期开始
     */
    @ApiModelProperty(value = "建立日期开始")
    private String establishDate_GE;

    /**
     * 建立日期结束
     */
    @ApiModelProperty(value = "建立日期结束")
    private String establishDate_LE;

    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    private String createBy_EQ;

    // ========================================
    // 嵌套查询参数
    // ========================================

    /**
     * 客户查询条件
     */
    @ApiModelProperty(value = "客户查询条件")
    private CustomersInfoModel customerQP;

    /**
     * 学生查询条件
     */
    @ApiModelProperty(value = "学生查询条件")
    private CustomersStudentModel studentQP;
}